subroutine check_readgeom(lunit)
  use param
  use geom_data_param,only:geom_obj
  use geom_data_param,only:n_geom_obj
  implicit none

  integer,intent(in) :: lunit
  integer :: i,n,in1,in2,in3,pos1,pos2
  character(len=len_linebuf) :: str

  if (n_geom_obj.eq.0) return

  in1=1
  in2=2
  in3=3

  call log_msg1(lunit,"")
  call log_msg1(lunit,"Details of the geometric objects")

  do i=1,n_geom_obj
     pos1=0
     pos2=pos1+4
     write(str(pos1+1:pos2),'("[",i2,"]")') i
     pos1=pos2

     n=geom_obj(i)%geom_type
     pos2=pos1+7
     write(str(pos1+1:pos2),'(1x,"type=",i1)') n
     pos1=pos2

     select case(n)
     case(1)
        pos2=pos1+8
        write(str(pos1+1:pos2),'(1x,"(point)")') 
        pos1=pos2

        pos2=pos1+33
        write(str(pos1+1:pos2),&
             '(" : (x,y,z)=(",f6.1,1x,f6.1,1x,f6.1,")")') &
             geom_obj(i)%x1,geom_obj(i)%y1,geom_obj(i)%z1
        pos1=pos2
     case(2)
        pos2=pos1+16
        write(str(pos1+1:pos2),'(1x,"(straight line)")')
        pos1=pos2

        pos2=pos1+36
        write(str(pos1+1:pos2),&
             '(" : (x1,y1,z1)=(",f6.1,1x,f6.1,1x,f6.1,")")') &
             geom_obj(i)%x1,geom_obj(i)%y1,geom_obj(i)%z1             
        pos1=pos2

        pos2=pos1+36
        write(str(pos1+1:pos2),&
             '(" : (x2,y2,z2)=(",f6.1,1x,f6.1,1x,f6.1,")")') &
             geom_obj(i)%x2,geom_obj(i)%y2,geom_obj(i)%z2
        pos1=pos2
     case(3)
        pos2=pos1+9
        write(str(pos1+1:pos2),'(1x,"(x-left)")') 
        pos1=pos2
        
        pos2=pos1+12
        write(str(pos1+1:pos2),'(" : xl=",f6.1)') &
             geom_obj(i)%x1
        pos1=pos2
     case(4)
        pos2=pos1+10
        write(str(pos1+1:pos2),'(1x,"(x-right)")') 
        pos1=pos2

        pos2=pos1+12
        write(str(pos1+1:pos2),'(" : xr=",f6.1)') &
             geom_obj(i)%x1
        pos1=pos2
     case(5)
        pos2=pos1+9
        write(str(pos1+1:pos2),'(1x,"(y-left)")') 
        pos1=pos2

        pos2=pos1+12
        write(str(pos1+1:pos2),'(" : yl=",f6.1)') &
             geom_obj(i)%y1
        pos1=pos2        
     case(6)
        pos2=pos1+10
        write(str(pos1+1:pos2),'(1x,"(y-right)")') 
        pos1=pos2

        pos2=pos1+12
        write(str(pos1+1:pos2),'(" : yr=",f6.1)') &
             geom_obj(i)%y1
        pos1=pos2        
     case(7)
        pos2=pos1+9
        write(str(pos1+1:pos2),'(1x,"(z-left)")') 
        pos1=pos2

        pos2=pos1+12
        write(str(pos1+1:pos2),'(" : zl=",f6.1)') &
             geom_obj(i)%z1
        pos1=pos2        
     case(8)
        pos2=pos1+10
        write(str(pos1+1:pos2),'(1x,"(z-right)")') 
        pos1=pos2

        pos2=pos1+12
        write(str(pos1+1:pos2),'(" : zr=",f6.1)') &
             geom_obj(i)%z1
        pos1=pos2        
     end select

     call log_msg1_indent(lunit,in1,str(1:pos2))

  end do

  return

end subroutine check_readgeom
